 package dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import entity.Video;

public interface VideoDao {
	//查找所有视频
	public List<Video> find();
	//根据用户账号查找他上传过的视频
	public List<Video> findVideoByUserId(int userId);
	//根据视频的状态查找video
	public List<Video> findByState(int id);
	//根据视频的状态查找video
	public List<Video> findByStateMulti(int id, int id2, int id3);
	//更新video的stateId的值，即改变video的转码状态
	public int updateVideoState(Video video);
	//更新video的缩略图updateThumbnailUrl值
	public int updateThumbnailUrl(Video video);
	//更新video的转码后路径
	public int updateVideoUrl(Video video);
	//根据播单id获取此播单中的全部视频信息
	public List<Video> findByListId(int listId);
	//根据视频id获取视频信息
	public Video findById(int id);
	
	public List<Video> findByNumberAndTime();
	//根据分类编号查找视频
	public List<Video> findByCategoryId(int categoryId);
	//根据分类编号查找全部视频
	public List<Video> findByCategoryIdAll(int categoryId);
	//查找收费视频
	public List<Video> findByisCharge(int isCharge);
	//根据关键字查找相关视频
	public List<Video> findByName(@Param("name") String name,@Param("begin")int begin,@Param("end") int end);
	//按日期排序、分页
	public List<Video> findByDateSort(int begin,int end);
	//按点击量排序
	public List<Video> findByVideoClick(int begin,int end);
	//总记录数目
	public int findCount();
	//添加video(没有添加进播单),如果是1表示添加成功
	public int addNoListId(Video video);
	//添加video(添加进播单),返回受影响行数,如果是1表示添加成功
	public int add(Video video);
	//展示点击量前八的视频
	public List<Video> findByTopClick();
	//展示推荐前八的视频
	public List<Video> findByRecommend();
	//展示随机八个视频
	public List<Video> findByRand();
	//更新视频点击量
	public int updateVideoClick(int videoId);
	//更新视频点击量2
	public int updateVideoClick2(int videoId);

}
